@echo off
chcp 65001 >nul
echo ========================================
echo   Geppetto 完整测试启动脚本
echo ========================================
echo.

REM 检查 Python
echo [1/5] 检查 Python 环境...
python --version >nul 2>&1
if %errorlevel% neq 0 (
    echo ❌ Python 未安装或未添加到 PATH
    echo 请安装 Python 3.10+ 并添加到系统 PATH
    pause
    exit /b 1
)
python --version
echo ✅ Python 环境正常
echo.

REM 检查 Node.js
echo [2/5] 检查 Node.js 环境...
node --version >nul 2>&1
if %errorlevel% neq 0 (
    echo ❌ Node.js 未安装或未添加到 PATH
    echo 请安装 Node.js 18+ 并添加到系统 PATH
    pause
    exit /b 1
)
node --version
echo ✅ Node.js 环境正常
echo.

REM 检查后端依赖
echo [3/5] 检查后端依赖...
python -c "import tornado" >nul 2>&1
if %errorlevel% neq 0 (
    echo ⚠️  Tornado 未安装，正在安装...
    pip install tornado
    if %errorlevel% neq 0 (
        echo ❌ Tornado 安装失败
        pause
        exit /b 1
    )
)
echo ✅ 后端依赖正常
echo.

REM 检查前端依赖
echo [4/5] 检查前端依赖...
if not exist "%~dp0frontend\node_modules" (
    echo ⚠️  前端依赖未安装，正在安装...
    cd /d "%~dp0frontend"
    call npm install --legacy-peer-deps
    if %errorlevel% neq 0 (
        echo ❌ 前端依赖安装失败
        pause
        exit /b 1
    )
    cd /d "%~dp0"
)
echo ✅ 前端依赖正常
echo.

REM 启动服务
echo [5/5] 启动服务...
echo.
echo ========================================
echo   准备启动 Geppetto 测试环境
echo ========================================
echo.
echo 将打开两个新窗口:
echo   1. 后端 WebSocket 服务器 (端口 8888)
echo   2. 前端开发服务器 (端口 8081)
echo.
echo 启动后请访问:
echo   http://localhost:8081/geppetto-test
echo.
echo 按任意键开始启动...
pause >nul

REM 启动后端
echo.
echo 🚀 启动后端服务器...
start "Geppetto Backend" cmd /k "cd /d %~dp0backend && call 启动后端.bat simple"
timeout /t 3 /nobreak >nul

REM 启动前端
echo 🚀 启动前端服务器...
start "Geppetto Frontend" cmd /k "cd /d %~dp0frontend && call 启动前端.bat"
timeout /t 5 /nobreak >nul

REM 打开浏览器
echo 🌐 打开测试页面...
echo 等待服务器启动完成...
timeout /t 10 /nobreak >nul
echo 正在打开浏览器...
start http://localhost:8081/geppetto-test

echo.
echo ========================================
echo   ✅ 启动完成！
echo ========================================
echo.
echo 测试页面: http://localhost:8081/geppetto-test
echo 后端健康检查: http://localhost:8888/health
echo.
echo 提示:
echo   - 点击 "运行所有测试" 按钮开始测试
echo   - 查看控制台日志了解详细信息
echo   - 关闭此窗口不会停止服务器
echo   - 要停止服务器，请关闭对应的窗口
echo.
pause

